home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 008 / xmaspic.arc / XMASPIC.BAS
BASIC Source File  |  1985-12-20  |  7KB  |  74 lines

  1. 5 ' "XMAS" by Dick Whiteley, Nashville, TN
  2. 6 ' adapted from the TRS80 COLOR COMPUTER
  3. 10 KEY OFF:SCREEN 1,0:CLS:COLOR 1,0:DIM L(16),L1(16),PL$(16):FOR T=0 TO 16:READ L(T),L1(T):NEXT
  4. 20 PI=3.141593:RANDOMIZE(-TIMER):SONG=25
  5. 30 LINE(0,20)-(30,30):LINE-(265,181),,B:LINE-(319,199):LINE(0,199)-(30,181):LINE(319,20)-(265,30):LINE-(30,110),,B:LINE(0,20)-(319,19),,B:PAINT(0,0),1,3:PAINT(150,25),3,3
  6. 40 PAINT(245,189),3,3:PAINT(33,120),2,3:FOR T=174 TO 117 STEP-7:LINE(33,T)-(263,T):NEXT
  7. 50 FOR T=111 TO 180 STEP 14:FOR TT=40 TO 258 STEP 20:LINE(TT,T)-(TT,T+7):LINE(TT+10,T+7)-(TT+10,T+14):NEXT TT:NEXT T:LINE(115,125)-(175,174),0,BF
  8. 60 CIRCLE(145,199),30,2,0,PI,5/11:CIRCLE(145,199),15,2,0,PI,5/12:PAINT(145,191),0,2:PAINT(145,198),1,2
  9. 70 LINE(319,64)-(294,68):LINE-(294,116):LINE-(319,120):PAINT(299,69),1,3:LINE(294,92)-(319,92):LINE(307,66)-(307,118)
  10. 80 LINE(30,30)-(30,100):LINE(109,45)-(177,99),2,BF:LINE(112,48)-(174,97),3,BF:LINE(44,57)-(0,174),1:LINE-(88,174),1:LINE-(44,57),1:PAINT(50,90),1,1
  11. 90 LINE(0,0)-(319,199),,B
  12. 100 CIRCLE(143,73),26,1:CIRCLE(143,73),17,1:PAINT(162,73),1,1:LINE(137,89)-(149,93),2,BF:CIRCLE(44,197),30,4,,,3/6:PAINT(44,188),2,2:LINE(40,174)-(46,189),3,BF
  13. 110 FOR T=80 TO 200 STEP 120:LINE(T,93)-(T+2,110):LINE-(T+6,110):LINE-(T+8,93):LINE-(T,93):PAINT(T+2,95),5,5:NEXT T
  14. 120 LINE(16,186)-(30,196),,BF:LINE(56,184)-(76,196),0,BF:CIRCLE(64,187),2,2:CIRCLE(67,187),2,2:LINE(66,187)-(64,191),1,BF:DRAW "BM127,123C1D11G2L4G2D2F2R10E4U15L8":PAINT(131,126),2,1:DRAW "BM155,123C1D11G2L4G2D2F2R10E4U15L8":PAINT(159,126),2,1
  15. 130 LINE(125,165)-(165,174),,BF:'DRAW "BM44,56C3F6U6E6L6H6G6L6F6D6E6"
  16. 140 LINE(45,56)-(52,60):LINE-(46,52):LINE-(54,49):LINE-(46,49):LINE-(44,43):LINE-(42,49):LINE-(35,49):LINE-(42,52):LINE-(36,60):LINE-(45,56)
  17. 150 LOCATE 2,5:PRINT "Merry Christmas from ComputerLand"
  18. 160 X=X+1:IF X>3 THEN X=0 ELSE PAINT(45,52),X-1,3
  19. 170 IF PLAY(0)<3 THEN GOSUB 220
  20. 175 EY$=INKEY$:IF EY$=CHR$(27) THEN SYSTEM
  21. 180 FOR T=0 TO 4:R=RND(1)*16:CIRCLE(L(R),L1(R)),1,RND(1)*3:NEXT T:LINE(164,164)-(125,148),0,BF:ON (X AND 1)+1 GOSUB 190,200:LINE-(125,164),2:LINE-(164,164),2:PAINT(150,160),2,2:GOTO 160
  22. 190 LINE(164,164)-(152,152),2:LINE-(143,162),2:LINE-(134,148),2:RETURN
  23. 200 LINE(164,164)-(152,149),2:LINE-(140,162),2:LINE-(134,153),2:RETURN
  24. 210 DATA 44,66,48,83,36,87,33,102,44,102,56,105,56,120,44,120,24,120,20,138,44,138,64,142,72,162,52,162,36,168,12,162,31,153
  25. 220 PLP=PLP+1:IF PL$(PLP)<>"" THEN PL$=PL$(PLP):PLAY "MB XPL$;":RETURN
  26. 230 PLP=PLP-1:SONG=SONG+1:IF SONG<25 THEN RETURN ELSE SONG=0:S=RND(1)*13+1:ON S GOSUB 880,590,610,630,650,770,690,710,740,770,790,810,880,860
  27. 240 PLP=-1:FOR X=0 TO 16
  28. 250 PL$(X)=LEFT$(PL$,32)
  29. 260 IF LEN(PL$(X))<2 THEN 300
  30. 270 NN=32:FOR N=1 TO 4:IF ASC(RIGHT$(PL$(X),1))>71 THEN NN=NN-1:PL$(X)=LEFT$(PL$(X),NN) ELSE N=4
  31. 280 NEXT N
  32. 300 IF LEN(PL$)>NN THEN PL$=MID$(PL$,NN+1,255) ELSE PL$=PL1$:PL1$=""
  33. 305 IF LEN(PL$)>0 THEN IF ASC(PL$)=46 THEN PL$=RIGHT$(PL$(X),1)+PL$:PL$(X)=LEFT$(PL$(X),NN-1)
  34. 310 NEXT X:GOTO 220
  35. 500 CLS:PRINT TAB(14);"THE SONGBOOK"
  36. 510 PRINT " 1 ANGELS WE HAVE HEARD ON HIGH":PRINT" 2 AWAY IN THE MANGER":PRINT" 3 DECK THE HALLS":PRINT" 4 THE FIRST NOEL":PRINT" 5 GOD REST YE MERRY GENTLEMEN"
  37. 520 PRINT" 6 HARK THE HERALD ANGELS SING":PRINT" 7 HAVE A MERRY LITTLE XMAS":PRINT" 8 JINGLE BELLS":PRINT" 9 O' CHRISTMAS TREE":PRINT"10 SILENT NIGHT":PRINT"11 MARCH OF THE TOYS":PRINT"12 SEMPER FIDELES":PRINT"13 UP ON THE HOUSE TOP"
  38. 530 PRINT"14 WE WISH YOU A MERRY XMAS"
  39. 540 PRINT "YOUR CHOICE";:INPUT X
  40. 550 IF X<1 OR X>14 THEN 500 ELSE CLS:PL1$=""
  41. 560 ON X GOSUB 580,600,620,640,660,680,700,730,760,780,800,820,850,870
  42. 570 PLAY "XPL$;XPL1$;":GOTO 500
  43. 580 PRINT TAB(5);"ANGELS WE HAVE HEARD ON HIGH"
  44. 590 PL$= "T120O2L4BBBO3DL4D.L8CO2L2BL4BABO3DL4O2B.L8AL2GL4BBBO3DL4D.L8CO2L2BL4BABO3DO2L4B.L8AL2GO3L2DL8EDCO2BO3L2CL8DCO2BAL2BO3L8CO2BAGL4A.L8DL2DL4GABO3CO2L2BL4AP4O3L2DL8EDCO2BO3L2CL8DCO2BAL2BO3L8CO2BAGL4A.L8DL2DL4GABO3CO2L2BAL1G":RETURN
  45. 600 PRINT TAB(10);"AWAY IN THE MANGER"
  46. 610 PL$="T160O2L2DGGL4BAL2GGDEGEL1DL2DGGABBO3DDO2BGL1AL2DGGL4BAL2GGDEO3CO2EL1DL2DGGABO3DCO2BDF#L1G":RETURN
  47. 620 PRINT TAB(12);"DECK THE HALLS"
  48. 630 PL$="T160O3L4C.O2L8B-L4AGFGAFL8GAB-GL4A.L8GL4FEL2FO3L4C.O2L8B-L4AGFGAFL8GAB-GL4A.L8GL4FEL2FL4G.L8AL4B-GL4A.L8B-O3L4CO2GL8ABO3L4CL8DEL4FEDL2CL4C.O2L8B-L4AGFGAFO3L8DDDDL4C.O2L8B-L4AGL2F":RETURN
  49. 640 PRINT TAB(14);"THE FIRST NOEL"
  50. 650 PL$="T120O2L8EDL4C.L8DEFL2GL8ABO3L4CO2BAL2GL8ABL4O3CO2BAGABO3CO2GFL2EL8EDL4C.L8DEFL2GL8ABL4O3CO2BAL2GL8ABO3L4CO2BAGABO3CO2GFL2EL8EDL4C.L8DEFL2GO3L8CO2BL2AL4AL2G.O3L4CO2BAGABO3CO2GFL1E":RETURN
  51. 660 PRINT TAB(10);"GOD REST YE MERRY GENTLEMEN"
  52. 670 PL$="T160O2L4DDAAGFEDCDEFGL2A.L4DDAAGFEDCDEFGL2A.L4AB-GAB-O3CDO2AGFDEFL2GL4FGL2AL4B-AAGFEL2DL8FEL4DL2GL4FGAB-O3CDO2AGFEL1D":RETURN
  53. 680 PRINT TAB(10);"HARK THE HERALD ANGELS SING"
  54. 690 PL$="T160O2L4DGL4G.L8F#L4GBBAO3DDL4D.L8CO2L4BAL2BL4DGL4G.L8F#L4GBBAO3DO2AL4A.L8F#L4F#EL2DO3L4DDDO2GO3CO2BBAO3DDDO2GO3CO2BBAO3EEEDCO2BO3L2CO2L4AL8BO3CL4D.O2L8GL4GAL2BO3L4EEEDCO2BO3L2CO2L4AL8BO3CL4D.O2L8GL4GAL2G":RETURN
  55. 700 PRINT TAB(2);"HAVE YOURSELF A MERRY LITTLE CHRISTMAS"
  56. 710 PL$="T120O2L4CEGO3CO2L8GFEDL4CDCEGO3CO2L2G.P4L4EGO3CEL8DCO2BAL4GFL1EL2E.P4L4CEGO3CO2L8GFEDL4CDCEGO3CL2O2G.P4L4EGO3CEL8DCO2BAL4G#BO3L1CCL4EEEL8DCO2BO3CL2DL8CO2BABO3L2CO2L4BL2B.P4O3L4CCCO2L8BAGAL2BL8GABO3CL2DO2L4DL2G.P4L4CEGO3CO2L8GFEDL4CDCEGO3C"
  57. 720 PL1$="L2O2G.P4L4EGO3CEL8FEDCO2L4BO3DL1EL2E.L4EEO2FAO3CL8EDCO2BL4ABO3L1C":RETURN
  58. 730 PRINT TAB(14);"JINGLE BELLS"
  59. 740 PL$="T192O2L4DBAGL2D.L8DDL4DBAGL2E.L4EEO3CO2BAL1F#O3L4DDCO2AL1BL4DBAGL2D.L8DDL4DBAGL2E.L4EEO3CO2BAO3DDDDEDCO2AL2G.P4L4BBL2BL4BBL2BL4BO3DO2L4G.L8AL1BO3L4CCL4C.L8CL4CO2BBL8BBL4BAABL2AO3DO2L4BBL2BL4BBL2BL4BO3DO2L4G.L8AL1BO3L4CCL4C.L8CL4CO2BBL8BB"
  60. 750 PL1$="O3L4DDCO2L4AL1G":RETURN
  61. 760 PRINT TAB(13);"O' CHRISTMAS TREE"
  62. 770 PL$="T120O2L4CL8F.L16FL4FGL8A.L16AL4AAL8GAL4B-EGFCL8F.L16FL4FGL8A.L16AL4AAL8GAL4B-EGFO3CL8CO2AO3L4D.L8CCO2B-L4B-.L8B-B-GO3L4C.O2L8B-B-AL4ACL8F.L16FL4FGL8A.L16AL4AAL8GAL4B-EGF":RETURN
  63. 780 PRINT TAB(15);"SILENT NIGHT"
  64. 790 PL$="T120O2L4G.L8AL4GL2E.L4G.L8AL4GL2E.O3L2DL4DO2L2B.O3L2CL4CO2L2G.L2AL4AO3L4C.O2L8BL4AL4G.L8AL4GL2E.L2AL4AO3L4C.O2L8BL4AL4G.L8AL4GL2E.O3L2DL4DL4F.L8DO2L4BO3L2C.EL4C.O2L8GL4EL4G.L8FL4DL1C":RETURN
  65. 800 PRINT TAB(12);"MARCH OF THE TOYS"
  66. 810 PL$="T192O3L8CDO2AO3CL2O2D.EL4AL8FL2DL8CL4EL8DL1DL8CGEDL1DP8O3L8CDO2AO3CL2O2D.EL4FL8GL2AP8L8AO3L4EL8DL4C#O2L8AO3L4EL8DL4C#O2L8AO3FEDL1AP8L8CDO2AO3CO2L2D.EL4AL8FL2DL8CL4EL8DL1DL8CGEDL1DP8O3L8CDO2AO3CO2L2D.EFGL8AB-O3CO2AGFL4AL8DL4GL8CL1F":RETURN
  67. 820 PRINT TAB(13);"SEMPER FIDELES"
  68. 830 PL$="T192O2L8F#L4GL8AL4BP8L2BL8AGFGADP8DAP8AGP8GEP8EFP8FO3CP8CO2BP8BAP8AGP8GO3EP8EDP8DCP8CO2L4BP8L2BL8AGFGAEP8EAP8AGP8GEP8EDO1BO2DGDGBGABO3CC#DP8L8FDCO1AGO2GABO3CDL4E.GO2ABO3L4DL8CL2CL8CECECO2L4BO2L8FL2FO2L8BO3DO2BO3DO2BL4O3CL8EL2EO2L8GABO3CDL4E.G"
  69. 840 PL1$="O2L4A.BO3L4DL8CL2CL8CO2BO3CDD#EGECECL1O2GL8AL4BL8GO3L4CP8O2L4C.L1AL8FAO3L4CO2L8AO3L2C.O2AL1FL8CFL4AL8FL2C.L4C.O3L4C.O2L1AL8FAO3L4CO2L8AO3L2C.O2AL1CL8FAO3L4CO2L8CL1F":RETURN
  70. 850 PRINT TAB(10);"UP ON THE HOUSE TOP"
  71. 860 PL$="T160O3L4CL8CDL4CO2AFAO3L2CL4DDCO2AGO3CL2CL4CL8CDL4CO2AFAO3L2CL4DDCO2AGO3CO2L2FL4B-B-O3L2DL4CL8CCO2L2AL4GGL2B-L4AO3L8CCO2L2FO3L4CL8CDL4CO2AB-O3CL2DL4CL8CDCCO2L4AGO3CO2L2F":RETURN
  72. 870 PRINT TAB(6);"WE WISH YOU A MERRY CHRISTMAS"
  73. 880 PL$="T160O2L4GO3CL8CDCO2BL4AAP32AO3DL8DEDCO2L4BGP32GO3EL8EFEDL4CO2AP32L8GGL4AO3CO2BO3C":RETURN
  74.